home *** CD-ROM | disk | FTP | other *** search
/ Programming in Microsoft Windows with C# / Programacion en Microsoft Windows con C#.iso / Codigo / Imágenes y mapas de bits / Thumbnail / Thumbnail.cs next >
Encoding:
Text File  |  2002-05-06  |  1.5 KB  |  47 lines

  1. //----------------------------------------
  2. // Thumbnail.cs ⌐ 2001 by Charles Petzold
  3. //----------------------------------------
  4. using System;
  5. using System.Drawing;
  6. using System.Windows.Forms;
  7.  
  8. class Thumbnail: PrintableForm
  9. {
  10.      const int iSquare = 64;
  11.      Image imageThumbnail;
  12.  
  13.      public new static void Main()
  14.      {
  15.           Application.Run(new Thumbnail());
  16.      }
  17.      public Thumbnail()
  18.      {
  19.           Text = "Miniatura";
  20.  
  21.           Image image = Image.FromFile("..\\..\\..\\Apollo11FullColor.jpg");
  22.  
  23.           int cxThumbnail, cyThumbnail;
  24.  
  25.           if (image.Width > image.Height)
  26.           {
  27.                cxThumbnail = iSquare;
  28.                cyThumbnail = iSquare * image.Height / image.Width;
  29.           }
  30.           else
  31.           {
  32.                cyThumbnail = iSquare;
  33.                cxThumbnail = iSquare * image.Width / image.Height;
  34.           }
  35.           imageThumbnail = image.GetThumbnailImage(cxThumbnail, cyThumbnail,
  36.                                                    null, (IntPtr) 0);
  37.      }
  38.      protected override void DoPage(Graphics grfx, Color clr, int cx, int cy)
  39.      {
  40.           for (int y = 0; y < cy; y += iSquare)
  41.           for (int x = 0; x < cx; x += iSquare)
  42.                grfx.DrawImage(imageThumbnail, 
  43.                               x + (iSquare - imageThumbnail.Width) / 2,
  44.                               y + (iSquare - imageThumbnail.Height) / 2,
  45.                               imageThumbnail.Width, imageThumbnail.Height);
  46.      }